package com.xyht.sca_s.student_manage_system.modules.org.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.org.entity.SmsOrgStructure;
import com.xyht.sca_s.student_manage_system.modules.org.entity.req.*;

import java.util.Map;
import java.util.concurrent.Future;

/**
 * <p>
 * 组织架构 服务类
 * </p>
 *
 * @author XYHT
 * @since 2022-11-27
 */
public interface SmsOrgStructureService extends IService<SmsOrgStructure> {
    ResponseResult getOrgTree ();
    ResponseResult getOrgCollageTree ();
    ResponseResult getOrgByID(Integer id);
    ResponseResult addOrg (SmsOrgStructureAddReq smsOrgStructureAddReq);
    ResponseResult updateOrg (SmsOrgStructureUpdateReq smsOrgStructureUpdateReq);
    ResponseResult deleteOrg (Integer org_id);
    ResponseResult getOrgUserInfo (Integer org_id,Integer flag,String search_str,Integer pageSize,Integer pageNum);

    ResponseResult getRootOrgList();

    ResponseResult getOrgUserDetail (String user_id);
    ResponseResult updateUserDetail (OrgUserDetailReq orgUserDetailReq,String user_id);

    Future<ResponseResult> batchAddUserInfo(Map<String,Object> map, String user_id);
    ResponseResult batchDeleteUserInfo(Map<String,Object> map);
    ResponseResult addUserInfo(Map<String,Object> map);
    ResponseResult deleteUserInfo(Integer id);
    ResponseResult getAppointUser(Integer processObjectType,String processObjectId);

    ResponseResult addOrgLeader(SmsOrgStructureLeaderReq addLeaderReq);

    ResponseResult getOrgLeader(Integer orgId);

    ResponseResult deletedOrgLeader(SmsOrgStructureLeaderReq deletedLeaderReq);

    ResponseResult getAssistant(String classId);

    ResponseResult addAssistant(SmsWnsAssistantAddReq assistantAddReq);

    ResponseResult deletedAssistant(SmsWnsAssistantAddReq assistantAddReq);


}
